package com.beyondsoft.sabg.edu.model.dto;

import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
public class DocumentFormFieldsDto extends BasicDTO {

    /**
     * 标题
     * 适用于所有公文类型（报告、通报、通告、请示、决定、决议、公告、函、公报、命令、批复、议案、意见、纪要、通知）
     */
    private String title;

    /**
     * 发文机关
     * 适用于报告、通报、通告、请示、决定、决议、公告、函、公报、批复、议案、意见、通知
     */
    private String issuingAuthority;

    /**
     * 发文日期
     * 适用于报告、通报、通告、请示、决定、决议、公告、函、公报、批复、议案、意见、通知
     */
    private String issueDate;

    /**
     * 主送机关
     * 适用于报告、通报、通告、请示、决定、函、批复、议案、意见、通知
     */
    private String mainRecipient;

    /**
     * 缘由
     * 适用于报告、通告、请示、决定、决议、公告、函、批复、议案、意见
     */
    private String reason;

    /**
     * 事项
     * 适用于报告、通告、请示、决定、决议、公告、函、批复、议案、意见
     */
    private String matters;

    /**
     * 主要事实
     * 适用于通报
     */
    private String mainFacts;

    /**
     * 决定要求
     * 适用于通报、决定
     */
    private String decisionRequirements;

    /**
     * 教育意义
     * 适用于通报
     */
    private String educationalSignificance;

    /**
     * 要求
     * 适用于函
     */
    private String requirements;

    /**
     * 核心内容
     * 适用于公报
     */
    private String coreContent;

    /**
     * 命令事项
     * 适用于命令
     */
    private String commandMatters;

    /**
     * 引述内容
     * 适用于批复
     */
    private String quotedContent;

    /**
     * 答复
     * 适用于批复
     */
    private String response;

    /**
     * 决议要求
     * 适用于决议
     */
    private String resolutionRequirements;

    /**
     * 具体意见
     * 适用于意见
     */
    private String specificOpinions;

    /**
     * 会议概况
     * 适用于纪要
     */
    private String meetingOverview;

    /**
     * 会议精神
     * 适用于纪要
     */
    private String meetingSpirit;

    /**
     * 出席
     * 适用于纪要
     */
    private String attendance;

    /**
     * 请假
     * 适用于纪要
     */
    private String absence;

    /**
     * 列席
     * 适用于纪要
     */
    private String observer;

    /**
     * 会议时间
     * 适用于纪要、通知
     */
    private String meetingTime;

    /**
     * 主题
     * 适用于通知
     */
    private String topic;

    /**
     * 写作场景
     * 适用于通知
     */
    private String writingScenario;

    /**
     * 主送单位
     * 适用于通知
     */
    private String mainRecipientUnit;

    /**
     * 发文时间
     * 适用于通知
     */
    private String issuingDateTime;

    /**
     * 会议地点
     * 适用于通知
     */
    private String meetingLocation;

    /**
     * 参会人员
     * 适用于通知
     */
    private String participants;

    /**
     * 发文单位
     * 适用于通知
     */
    private String issuingUnit;

    /**
     * 结语
     * 适用于报告、通告、请示、函、公告、批复、议案、意见、通知
     */
    private String conclusion;

    /**
     * 字数限制
     */
    private String wordCount;
}
